﻿
using System;
using System.Data.SqlClient;
using V82;
using V82.СправочникиСсылка;
using V82.Справочники;//Менеджер;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.Справочники//Менеджер
{
	public partial class Номенклатура:СправочникМенеджер
	{
		
		public static СправочникиСсылка.Номенклатура НайтиПоСсылке(Guid _Ссылка)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", _Ссылка);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static СправочникиСсылка.Номенклатура НайтиПоКоду(string Код)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _Code=@Код";
					Команда.Parameters.AddWithValue("Код", Код);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура Выбрать()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)  Where _Folder = 0x01 ";
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура ВыбратьПоСсылке(int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _IDRRef between @Мин and @Макс  -- and _Folder = 0x01 
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура ВыбратьПоКоду(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _Code between @Мин and @Макс
					Order by _Code", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура ВыбратьПоНаименованию(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _Description between @Мин and @Макс
					Order by _Description", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура СтраницаПоСсылке(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура СтраницаПоКоду(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура СтраницаПоНаименованию(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static V82.СправочникиОбъект.Номенклатура СоздатьЭлемент()
		{
			var Объект = new V82.СправочникиОбъект.Номенклатура();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.ЭтоГруппа = false;
			Объект.Артикул = "";
			Объект.НаименованиеПолное = "";
			Объект.Комментарий = "";
			Объект.ДополнительноеОписаниеНоменклатуры = "";
			Объект.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка;
			Объект.ВидНоменклатуры = new V82.СправочникиСсылка.ВидыНоменклатуры();
			Объект.ЕдиницаДляОтчетов = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.ЕдиницаХраненияОстатков = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.БазоваяЕдиницаИзмерения = new V82.СправочникиСсылка.КлассификаторЕдиницИзмерения();
			Объект.НазначениеИспользования = new V82.СправочникиСсылка.НазначенияИспользования();
			Объект.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка;
			Объект.НоменклатурнаяГруппаЗатрат = new V82.СправочникиСсылка.НоменклатурныеГруппы();
			Объект.ОсновноеИзображение = new V82.СправочникиСсылка.ХранилищеДополнительнойИнформации();
			Объект.ОсновнойПоставщик = new V82.СправочникиСсылка.Контрагенты();
			Объект.ОтветственныйМенеджерЗаПокупки = new V82.СправочникиСсылка.Пользователи();
			Объект.НоменклатурнаяГруппа = new V82.СправочникиСсылка.НоменклатурныеГруппы();
			Объект.СтранаПроисхождения = new V82.СправочникиСсылка.КлассификаторСтранМира();
			Объект.НомерГТД = new V82.СправочникиСсылка.НомераГТД();
			Объект.СтатьяЗатрат = new V82.СправочникиСсылка.СтатьиЗатрат();
			Объект.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка;
			Объект.НаправлениеСписанияВыпущеннойПродукции = new V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции();
			Объект.ПорядокПрисвоенияСерийногоНомера = new V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров();
			Объект.ЦеноваяГруппа = new V82.СправочникиСсылка.ЦеновыеГруппы();
			Объект.ОКП = new V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции();
			Объект.ЕдиницаИзмеренияМест = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.Производитель = new V82.СправочникиСсылка.Контрагенты();
			Объект.Импортер = new V82.СправочникиСсылка.Контрагенты();
			return Объект;
		}
		
		public static V82.СправочникиОбъект.Номенклатура СоздатьГруппу()
		{
			var Объект = new V82.СправочникиОбъект.Номенклатура();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.ЭтоГруппа = true;
			Объект.Артикул = "";
			Объект.НаименованиеПолное = "";
			Объект.Комментарий = "";
			Объект.ДополнительноеОписаниеНоменклатуры = "";
			Объект.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка;
			Объект.ВидНоменклатуры = new V82.СправочникиСсылка.ВидыНоменклатуры();
			Объект.ЕдиницаДляОтчетов = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.ЕдиницаХраненияОстатков = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.БазоваяЕдиницаИзмерения = new V82.СправочникиСсылка.КлассификаторЕдиницИзмерения();
			Объект.НазначениеИспользования = new V82.СправочникиСсылка.НазначенияИспользования();
			Объект.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка;
			Объект.НоменклатурнаяГруппаЗатрат = new V82.СправочникиСсылка.НоменклатурныеГруппы();
			Объект.ОсновноеИзображение = new V82.СправочникиСсылка.ХранилищеДополнительнойИнформации();
			Объект.ОсновнойПоставщик = new V82.СправочникиСсылка.Контрагенты();
			Объект.ОтветственныйМенеджерЗаПокупки = new V82.СправочникиСсылка.Пользователи();
			Объект.НоменклатурнаяГруппа = new V82.СправочникиСсылка.НоменклатурныеГруппы();
			Объект.СтранаПроисхождения = new V82.СправочникиСсылка.КлассификаторСтранМира();
			Объект.НомерГТД = new V82.СправочникиСсылка.НомераГТД();
			Объект.СтатьяЗатрат = new V82.СправочникиСсылка.СтатьиЗатрат();
			Объект.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка;
			Объект.НаправлениеСписанияВыпущеннойПродукции = new V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции();
			Объект.ПорядокПрисвоенияСерийногоНомера = new V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров();
			Объект.ЦеноваяГруппа = new V82.СправочникиСсылка.ЦеновыеГруппы();
			Объект.ОКП = new V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции();
			Объект.ЕдиницаИзмеренияМест = new V82.СправочникиСсылка.ЕдиницыИзмерения();
			Объект.Производитель = new V82.СправочникиСсылка.Контрагенты();
			Объект.Импортер = new V82.СправочникиСсылка.Контрагенты();
			return Объект;
		}
		
		public static СправочникиВыборка.Номенклатура ИерархияВыбратьПоСсылке(Guid Родитель,int Режим,int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)
					Where _IDRRef between @Мин and @Макс  -- and _Folder = 0x01 
					AND _ParentIDRRef = @Родитель
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Родитель", Родитель);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static СправочникиВыборка.Номенклатура ИерархияСтраницаПоСсылке(Guid Родитель,int Режим,int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_IsMetadata [Предопределенный]
					,_ParentIDRRef [Родитель]
					,_Folder [ЭтоГруппа]
					,_Code [Код]
					,_Description [Наименование]
					,_Fld1421 [Артикул]
					,_Fld1437 [НаименованиеПолное]
					,_Fld1423 [Весовой]
					,_Fld1424 [ВесовойКоэффициентВхождения]
					,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
					,_Fld1426 [ВестиПартионныйУчетПоСериям]
					,_Fld1427 [ВестиУчетПоСериям]
					,_Fld1428 [ВестиУчетПоСериямВНЗП]
					,_Fld1429 [ВестиУчетПоХарактеристикам]
					,_Fld1430RRef [ВидВоспроизводства]
					,_Fld1431RRef [ВидНоменклатуры]
					,_Fld1432RRef [ЕдиницаДляОтчетов]
					,_Fld1433RRef [ЕдиницаХраненияОстатков]
					,_Fld1422RRef [БазоваяЕдиницаИзмерения]
					,_Fld1435 [Набор]
					,_Fld1436RRef [НазначениеИспользования]
					,_Fld1444RRef [СтавкаНДС]
					,_Fld1434 [Комментарий]
					,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
					,_Fld1449 [Услуга]
					,_Fld1441RRef [ОсновноеИзображение]
					,_Fld1442RRef [ОсновнойПоставщик]
					,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
					,_Fld1438RRef [НоменклатурнаяГруппа]
					,_Fld1446RRef [СтранаПроисхождения]
					,_Fld1440RRef [НомерГТД]
					,_Fld1447 [ТребуетсяВнешняяСертификация]
					,_Fld1448 [ТребуетсяВнутренняяСертификация]
					,_Fld1445RRef [СтатьяЗатрат]
					,_Fld1450 [ВестиСерийныеНомера]
					,_Fld1451 [Комплект]
					,_Fld1452RRef [НаправлениеВыпуска]
					,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
					,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
					,_Fld1455RRef [ЦеноваяГруппа]
					,_Fld1456RRef [ОКП]
					,_Fld18593RRef [ЕдиницаИзмеренияМест]
					,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
					,_Fld26548RRef [Производитель]
					,_Fld26549RRef [Импортер]
					From _Reference95(NOLOCK)";
					var Выборка = new V82.СправочникиВыборка.Номенклатура();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new СправочникиСсылка.Номенклатура();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
							Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
							Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
							Ссылка.Код = Читалка.GetString(6);
							Ссылка.Наименование = Читалка.GetString(7);
								Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
								Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
							if(!Ссылка.ЭтоГруппа)
							{
								Ссылка.Артикул = Читалка.GetString(8);
								Ссылка.НаименованиеПолное = Читалка.GetString(9);
								Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
								Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
								Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
								Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
								Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
								Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
								Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
								Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
								Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
								Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
								Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
								Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
								Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
								Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
								Ссылка.Комментарий = Читалка.GetString(25);
								Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
								Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
								Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
								Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
								Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
								Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
								Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
								Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
								Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
								Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
								Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
								Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
								Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
								Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
								Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
								Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
								Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
								Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
								Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
								Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
								Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
							}
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
	}
}